Loch-Ness: A Lock Free Method using Virtual Memory Page Table Entry Mechanism
نویسندگان
چکیده
Operating Systems have offered Locking as a de-facto mechanism for mutual exclusion. Locks have enjoyed widespread use due to their simplicity. However the burden of protecting a critical section is left to the programmer. Programmer has to ensure that the Locks are created, acquired, released and destroyed after use. Incorrect use of Locks can lead to race conditions. In Multi-programming, parallel environments Locks are also a source of performance bottlenecks. Researchers have tried to find alternatives to Mutual Exclusion Locks. Some of these approaches target specific cases of mutual exclusion and cannot be used as a main stream method. Others are general in nature but are complex to implement. In this paper we present a Lock Free method that is general enough to work in all situations, uses existing technology that is well established and is efficient and simple to implement. Keywords—Critical Section, Mutual Exclusion, Lock Free Method, Virtual Memory, Page Table Entry, Snoopy Cache, Mutual Exclusion Lock, Semaphore, Monitor, Conditional Variable, Transactional Memory, Lock Free Algorithm
منابع مشابه
Improving the Address Translation Performance of Widely Shared Pages
Operating systems allow multiple processes to share physical objects, e.g., shared libraries, System V shared memory. Many UNIX® implementations allow processes to use different virtual addresses known as aliases to map a shared physical page. Each alias traditionally requires separate page table and translation lookaside buffer (TLB) entries that contain identical translation information. In s...
متن کاملVerification of programs in virtual memory using separation logic
Formal reasoning about programs executing in virtual memory is a difficult problem, as it is an environment in which writing to memory can change its layout. At the same time, correctly reasoning about virtual memory is essential to operating system verification, a field we are very much interested in. Current approaches rely on entering special modes or making high-level assertions about the n...
متن کاملLocality-Conscious Lock-Free Linked Lists
We extend state-of-the-art lock-free linked lists by building linked lists with special care for locality of traversals. These linked lists are built of sequences of entries that reside on consecutive chunks of memory. When traversing such lists, subsequent entries typically reside on the same chunk and are thus close to each other, e.g., in same cache line or on the same virtual memory page. S...
متن کاملOn Composability, Efficient Design and Memory Reclamation of Lock-free Data Structures
The transition to multicore processors has brought synchronization, a fundamental challenge in computer science, into focus. In looking for solutions to the problem, interest has developed in the lock-free approach, which has been proven to achieve several advantages over the traditional mutual exclusion approach. This thesis studies challenges in interprocess synchronization in shared memory m...
متن کاملA Study of Virtual Memory Usage and Implications for Large Memory
The mechanisms now used to implement virtual memory – pages, page tables, and TLBs – have worked remarkably well for over fifty years. However, they are beginning to show their age due to current trends, such as significant increases in physical memory size, emerging data-intensive applications, and imminent non-volatile main memory. These trends call into question whether page-based address-tr...
متن کامل